package test;

import java.util.Scanner;
import com.junqiang.java.test0714.*;

public class test4Strong {
	static Scanner scan = new Scanner(System.in);
	static TestClass tc = new TestClass();
	static Pet[] pet;
	static int loginFlag;
	public static void main(String[] args) {
		boolean muen2Flag = true;
		while(muen2Flag) {
			switch(muen2()) {
			case "1":{
				muen2Flag = login();;
				break;
			}
			case "2":{
				regain();
				muen2Flag = true;
				break;
			}
			case "3":{
				muen2Flag = false;
				break;
			}
			default:{
				System.out.println("��������");
				muen2Flag = true;
				break;
				}
			}
		}
		System.out.println("�˳�ϵͳ�ɹ���");
	}
	//��¼����
	public static boolean login() {
		System.out.print("\n");
		System.out.print("�������û�����");
	    String strName = scan.next();
		System.out.print("���������룺");
	    String strPassword = scan.next();	
	    boolean muenFlag = true;
	    loginFlag = tc.logins(strName,strPassword);
		if (loginFlag >= 0) {
			System.out.println("��¼�ɹ���");
			while(muenFlag) {
				switch(muen()) {
				case "1":{
					String str = "";
					System.out.print("�����������룺");
					str = scan.next();
					tc.updateStr(loginFlag, str);
					System.out.print("�����޸ĳɹ�������������Ϊ��" + str);
					muenFlag = false;
					break;
				}
				case "2":{
					regain();
					muenFlag = false;
					break;
				}
				case "3":{
					shop();
					muenFlag = false;
					break;
				}
				case "4":{
					myPet();
					muenFlag = false;
					break;
				}
				case "5":{
					return false;
				}
				default:{
					System.out.println("��������");
					muenFlag = true;
					break;
					}
				}
			}	
		} else {
			System.out.println("�û������������");
		}  
		return true;
	}
	//ע�Ṧ��
	public static void regain() {
		System.out.print("�������µ��û�����");
		String newName = scan.next();
		System.out.print("�������µ����룺");
		String newPwd = scan.next();
		tc.add(newName,newPwd);
		System.out.println("ע��ɹ���");
		System.out.print("�����û���Ϊ��" + newName);
		System.out.print("\n");
		System.out.print("��������Ϊ��" + newPwd);
		System.out.print("\n");
	}
	public static void shop() {
		System.out.println("Ǯ����" + tc.money(loginFlag));
		Shop shop = new Shop();
		boolean shopFlag = true;
		String[] strArr = new String[2];
		while(shopFlag) {
			strArr = shop.petList();
			shopFlag = tc.buyPet(strArr, loginFlag);
		}
		System.out.println("���ﹺ��ɹ���");
		System.out.print("�����ĳ���ȡ����ק���ŵ�ը������֣�");
		tc.add(scan.next(), strArr, loginFlag);
	}
	public static void myPet(){
		pet = tc.petGetByIndex(loginFlag);
		for(int i = 0; i < pet.length; i++) {
			if(pet[i] == null)break;
			System.out.println((i+1) + "." + pet[i].getName());	
		}
		petMuen(pet.length);
	}
	public static void petMuen(int val) {
		boolean petFlag = true;
		System.out.print("�����������Ų鿴������ϸ��Ϣ��");
		while(petFlag) {
			int petNum = scan.nextInt();
			if(petNum > 0 && petNum <= val && pet[petNum - 1] != null) {
				if(pet[petNum - 1] != null){
					System.out.println("�������֣�" + pet[petNum - 1].getName());	
					System.out.println("�������ͣ�" + pet[petNum - 1].getType());
					System.out.println("����۸�" + pet[petNum - 1].getPrice());
					System.out.println("���｡��ֵ��" + pet[petNum - 1].getHealth());
					petSport(pet[petNum - 1]);
					petFlag = false;
				} else {
					System.out.print("�������!,���������룺");
					petFlag = true;
				}
			} else {
				System.out.print("�������!,���������룺");
				petFlag = true;
			}
		}
	}
	public static void petSport(Pet pet) {
		boolean petFlag = true;
		System.out.println("��Գ�����в�����");
		System.out.println("1.�ܲ�");
		System.out.println("2��ιʳ");
		while(petFlag) {
			int num = scan.nextInt();
			switch(num){
			case 1:{
				pet.run(pet);
				petFlag = false;
				break;
			}
			case 2:{
				pet.eat(pet);
				petFlag = false;
				break;
			}
				default:{
					System.out.print("�����������������룺");
					petFlag = true;
					break;
				}
			}
		}
	}
	//�˵�
	public static String muen() {
		String str = "0";
		System.out.println("�˵�");
		System.out.println("--------------------");
		System.out.println("1.�޸�����"); 
		System.out.println("2.ע�����û�");
		System.out.println("3.�������");
		System.out.println("4.�ҵĳ���");
		System.out.println("5.�˳�ϵͳ");
		str = scan.next();
		return str;
	}
	public static String muen2() {
		String str = "0";
		System.out.println("�˵�");
		System.out.println("--------------------");
		System.out.println("1.��¼");
		System.out.println("2.ע�����û�");
		System.out.println("3.�˳�ϵͳ");
		str = scan.next();
		return str;
	}

}
